package com.xuecheng.content.service;

import com.xuecheng.base.model.PageParams;
import com.xuecheng.base.model.PageResult;
import com.xuecheng.content.model.dto.AddCourseDto;
import com.xuecheng.content.model.dto.CourseBaseInfoDto;
import com.xuecheng.content.model.dto.EditCourseDto;
import com.xuecheng.content.model.dto.QueryCourseParamsDto;
import com.xuecheng.content.model.po.CourseBase;

/**
 * @author cyf
 * @version 1.0
 * @description #课程信息管理接口
 * @date 2024/8/26 20:57
 **/
public interface CourseBaseInfoService {
    /**
     *
     * @param pageParams 分页参数
     * @param queryCourseParamsDto 查询条件
     * @param companyId 机构id
     * @return 查询结果
     * @date 2024/8/26     */
    PageResult<CourseBase> queryCourseBaseList(Long companyId, PageParams pageParams, QueryCourseParamsDto queryCourseParamsDto);

    /**
     * 新增课程
     * @param companyId 机构ID
     * @param addCourseDto 课程信息
     * @return 课程详细信息
     * @date 2024/8/31 */
    CourseBaseInfoDto createCourseBase(Long companyId,AddCourseDto addCourseDto);

    /**
     *
     * @param id 课程信息id
     * @return  课程详细信息
     * @date 2024/8/31     */
    CourseBaseInfoDto getCourseBaseInfo(Long id);

    /**
     *
     * @param companyId 课程信息id
     * @param editCourseDto 课程修改信息
     * @return 课程详细信息
     * @date 2024/8/31     */
    CourseBaseInfoDto updateCourseBase(Long companyId, EditCourseDto editCourseDto);

    /**
     *
     * @param courseId 课程信息id
     * @date 2024/9/2     */
    void deleteCourseBase(Long courseId);
}
